package com.th.coupon.common.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;
import java.util.stream.Stream;

/**
 * 定义分发目标
 * @author 涂航
 */
@AllArgsConstructor
@Getter
public enum DistributeTarget {

    SINGLE("单用户",1),
    MULTI("多用户",2);
    /**
     * 分发目标描述
     */
    private String description;
    /**
     * 分发目标编码
     */
    private Integer code;

    public static DistributeTarget of(Integer code){
        Objects.requireNonNull(code);
        return Stream.of(values())
                .filter(bean -> bean.code.equals(code))
                .findAny()
                .orElseThrow(() -> new IllegalArgumentException(code +" not exists !!!"));
    }

}
